Symbolic execution systems-a review - Software Engineering Journal
نویسنده
چکیده
Symbolic execution is a technique that is useful in the validation of software. It may be used to aid in the generation of test data and in program proving. As software engineering becomes more concerned with the development of tools, symbolic execution will become an important item in the toolkit. This paper gives a review of symbolic execution and its applications. A minimum set of features for a symbolic execution testing system is set out. Of the 12 systems using symbolic execution only six contain these minimum features. These six systems are compared against an ‘ideal’ system. Based on this comparison some features for a new symbolic execution testing system are outlined.
منابع مشابه
Symbolic Execution and Software Testing
We review different flavors of symbolic execution, ranging from generalized symbolic execution to dynamic symbolic execution or concolic testing. We also identify challenges to symbolic execution, such as dealing with: looping constructs, multi-threading, recursive data structures, and complex mathematical constraints, as well as scalability challenges due to the path explosion problem. We disc...
متن کاملSymbolic Execution and Constraint Solving
This report documents the program and the outcomes of Dagstuhl Seminar 14442 “Symbolic Execution and Constraint Solving”, whose main goals were to bring together leading researchers in the fields of symbolic execution and constraint solving, foster greater communication between these two communities and exchange ideas about new research directions in these fields. There has been a veritable rev...
متن کاملConSUS: a light-weight program conditioner
Program conditioning consists of identifying and removing a set of statements which cannot be executed when a condition of interest holds at some point in a program. It has been applied to problems in maintenance, testing, re–use and re–engineering. Program conditioning relies upon both symbolic execution and reasoning about symbolic predicates. Automation of the process therefore requires some...
متن کاملA Tool for Practical Reasoning about State Machine Designs
Critical systems (e.g. safety-critical and security-critical systems) need the highest levels of assurance. The eeective engineering design of critical systems still lacks easy-to-use, practical and above-all trustworthy tools which allow the exploration of possible design strategies, and support formal reasoning about their critical properties. In this paper, we describe the Veracity prototype...
متن کاملDeconstructing Dynamic Symbolic Execution
Dynamic symbolic execution (DSE) is a well-known technique for automatically generating tests to achieve higher levels of coverage in a program. Two keys ideas of DSE are to: (1) seed symbolic execution by executing a program on an initial input; (2) using concrete values from the program execution in place of symbolic expressions whenever symbolic reasoning is hard or not desired. We describe ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004